接下來的幾篇文章,我們將要幾乎可以說是軟體架構模式始祖 ( 大概 ) 的這本書 :
企業應用架構模式 Patterns of Enterprise Application Architecture - Martin Fowler
為主要內容並輔以 《 Clean Architecture 》 來理解現階段基本的分層架構長什麼樣子。
會開始寫這主題主要的原因在於 :
我搞的好混亂啊 ~ 怎麼每一個人對每個 layer 與名詞的定義都不太一樣啊…
所以這裡我才從最根源的 《 企業應用架構模式 》開始下手。
為什麼要分層 ? 原因就是我們前面幾篇文章,一直提的兩個軟體設計基本原則 :
都是為了達到這兩個原則。
然在 《 企業應用架構模式 》 這本書中,有提到最基本的分層架構為 3-tier layer,分為以下三層 :
啊喲 ~ 這不就是 MVC 嗎 ? 我的小腦袋當初也是這樣想,然後開始考慮要不要蓋上書,因為 MVC 的相關書已經夠囉了 ~ 但後來往後翻,它這裡定義的 MVC 好像和我想的又不太一樣呢 ~
接下來我來簡單說一下,這三個層級裡面又分了那些,並且這也是之後的文章方向。
在這本書中的 Web Presentation 章節中,提到了我們最常聽到的 『 MVC 架構』,這裡會順到比較一下我們常聽到的 MVVM、MVP 有啥差別。
這個層級基本上會是所有系統最主要的核心,他的組職可以分成以下三類 :
基本上組織方式可以分成以上三個。
然後這裡在書中事實上有提到,這裡有個常見的處理方式 :
將 Domain 再切成兩個層級 = Service Layer + Domain Model
詳細內容會在之後的文章說明。順到說一下,之後也會演進到 DDD 與 CQRS 的誕生,基本上應該都是屬於這個層級的事情 ( 我在寫這篇時的想法,所不定之後會變 )。
中文我覺得好難翻譯,自已腦補一下。
其中這個層級還會多提到這幾樣東西,如下 :
這篇文章應該算是之後文章的小目錄,希望在寫完這幾篇以後,可以畫出一個完整的小地圖